#include "struct.h"
#include "Menu.h"

int Config_Menu(void)
{
// Create a new window
    screen = SDL_SetVideoMode(800, 550, 32, SDL_HWSURFACE|SDL_DOUBLEBUF|SDL_NOFRAME);

// Charge une police depuis un fichier, avec une taille de point à 50
    Police_Titre = TTF_OpenFont("arial.ttf", 65);
    /* Si la police est nulle, il y a eu une erreur */
    if(!Police_Titre)
    {
        printf("Erreur de création de la police : %s", TTF_GetError());
        return 1;
    }

    Police_Bouton = TTF_OpenFont("arial.ttf", 30);
    if(!Police_Bouton)
    {
        printf("Erreur de création de la police : %s", TTF_GetError());
        return 1;
    }

    Police_Regles = TTF_OpenFont("arial.ttf", 15);
    if(!Police_Regles)
    {
        printf("Erreur de création de la police : %s", TTF_GetError());
        return 1;
    }

    // Couleur du texte (ici rouge)
    TextRouge.r = 255;
    TextRouge.g = 0;
    TextRouge.b = 0;

    TextNoir.r = 0;
    TextNoir.g = 0;
    TextNoir.b = 0;

    TextBlanc.r = 255;
    TextBlanc.g = 255;
    TextBlanc.b = 255;

    TextJaune.r = 255;
    TextJaune.g = 255;
    TextJaune.b = 0;

    char Nom_Joueur[20];
    int idx = 0;
    memset(Nom_Joueur,0,sizeof(Nom_Joueur));
// On rend un texte sur une surface SDL, en utilisant notre police et notre couleur
    TextSurface = TTF_RenderText_Blended(Police_Titre, "Corsica Battle", TextRouge);
    TextBouton1 = TTF_RenderText_Blended(Police_Bouton, "Nouvelle Partie", TextNoir);
    TextBouton2 = TTF_RenderText_Blended(Police_Bouton, "Configuration", TextNoir);
    TextBouton3 = TTF_RenderText_Blended(Police_Bouton, "Regles du jeu", TextNoir);
    TextBouton4 = TTF_RenderText_Blended(Police_Bouton, "Quitter", TextNoir);
    strcat(Nom_Joueur,"Joueur ");

    for(idx = 1;idx<5;idx++)
    {
       sprintf(&Nom_Joueur[7],"%d",idx);
       Surf_NomJoueur[idx-1] = TTF_RenderText_Blended(Police_Bouton, Nom_Joueur, TextJaune);
    }

// TAPER ET POSER
    TextTaper = TTF_RenderText_Blended(Police_Bouton, "TAPER", TextNoir);
    TextPoser = TTF_RenderText_Blended(Police_Bouton, "POSER", TextNoir);

    if ( !screen )
    {
        printf("Unable to set 800x600 video: %s\n", SDL_GetError());
        return 1;
    }

    Image_fond = SDL_LoadBMP("Fond_menu.bmp");
    if (!Image_fond)
    {
        printf("Unable to load bitmap: %s\n", SDL_GetError());
        return 1;
    }

    Bouton1 = SDL_LoadBMP("Bouton.bmp");
    if (!Bouton1)
    {
        printf("Unable to load bitmap: %s\n", SDL_GetError());
        return 1;
    }

    Bouton2 = SDL_LoadBMP("Bouton.bmp");
    if (!Bouton2)
    {
        printf("Unable to load bitmap: %s\n", SDL_GetError());
        return 1;
    }

    Bouton3 = SDL_LoadBMP("Bouton.bmp");
    if (!Bouton3)
    {
        printf("Unable to load bitmap: %s\n", SDL_GetError());
        return 1;
    }

    Bouton4 = SDL_LoadBMP("Bouton.bmp");
    if (!Bouton4)
    {
        printf("Unable to load bitmap: %s\n", SDL_GetError());
        return 1;
    }

    if(!TextSurface)
    {
        printf("Erreur de rendu du texte : %s", TTF_GetError());
        return 1;
    }

    Surf_BoutonQuitter = SDL_LoadBMP("Quitter.bmp");// Correspond a TAPER et POSER
    if (!Surf_BoutonQuitter)
    {
        printf("Unable to load bitmap: %s\n", SDL_GetError());
        return 1;
    }
    Surf_TextQuitter = TTF_RenderText_Blended(Police_Regles, "Quitter", TextNoir);

    dstrect.x = (screen->w - Image_fond->w) /2;
    dstrect.y = (screen->h - Image_fond->h) /2;

    rect1.x = (screen->w - Bouton1->w) /2;
    rect1.y = (screen->h - Bouton1->h) /2;

    rect2.x = rect1.x;
    rect2.y = rect1.y + (Bouton2->h);

    rect3.x = rect2.x;
    rect3.y = rect2.y + (Bouton3->h);

    rect4.x = rect3.x;
    rect4.y = rect3.y + (Bouton4->h);

// On peut maintenant blitter notre surface comme n'importe quelle autre

    Titre.x = (((screen->w)/2) - ((TextSurface->w)/2));
    Titre.y = 80;
    Titre.w = TextSurface->w;
    Titre.h = TextSurface->h;

    TextNew_Game.x = (((screen->w)/2) - ((TextBouton1->w)/2));
    TextNew_Game.y = (screen->h - TextBouton1->h) /2;
    TextNew_Game.w = TextBouton1->w;
    TextNew_Game.h = TextBouton1->h;

    TextConfig.x = (((screen->w)/2) - ((TextBouton2->w)/2));
    TextConfig.y = TextNew_Game.y + (Bouton2->h);
    TextConfig.w = TextBouton2->w;
    TextConfig.h = TextBouton2->h;

    TextChain_Backward.x = (((screen->w)/2) - ((TextBouton3->w)/2));
    TextChain_Backward.y = TextConfig.y + (Bouton3->h);
    TextChain_Backward.w = TextBouton3->w;
    TextChain_Backward.h = TextBouton3->h;

    TextQuitter.x = (((screen->w)/2) - ((TextBouton4->w)/2));
    TextQuitter.y = TextChain_Backward.y + (Bouton4->h);
    TextQuitter.w = TextBouton4->w;
    TextQuitter.h = TextBouton4->h;

    return 0;
}
